On Isomorphism of "Functional" Intersection and Union Types
نویسندگان
چکیده
Type isomorphism is useful for retrieving library components, since a function in a library can have a type different from, but isomorphic to, the one expected by the user. Moreover type isomorphism gives for free the coercion required to include the function in the user program with the right type. The present paper faces the problem of type isomorphism in a system with intersection and union types. In the presence of intersection and union, isomorphism is not a congruence and cannot be characterised in an equational way. A characterisation can still be given, quite complicated by the interference between functional and non functional types. This drawback is faced in the paper by interpreting each atomic type as the set of functions mapping any argument into the interpretation of the type itself. This choice has been suggested by the initial projection of Scott’s inverse limit λ-model. The main result of this paper is a condition assuring type isomorphism, based on an isomorphism preserving reduction.
منابع مشابه
Isomorphism of intersection and union types
This paper gives a complete characterisation of type isomorphism definable by terms of a λ-calculus in a type system with intersection and union types. Type isomorphism is usually proved using a form of Inversion Lemma to relate terms and types. Currently in the literature no inversion lemma for intersection and union types is provided. Moreover, the subject reduction property does not hold in ...
متن کاملToward Isomorphism of Intersection and Union types
This paper investigates type isomorphism in a λ-calculus with intersection and union types. It is known that in λ-calculus, the isomorphism between two types is realised by a pair of terms inverse one each other. Notably, invertible terms are linear terms of a particular shape, called finite hereditary permutators. Typing properties of finite hereditary permutators are then studied in a relevan...
متن کاملIsomorphism of "Functional" Intersection Types
Type isomorphism for intersection types is quite odd, since it is not a congruence and it does not extend type equality in the standard interpretation of types. The lack of congruence is due to the proof theoretic nature of the intersection introduction rule, which requires the same term to be the subject of both premises. A partial congruence can be recovered by introducing a suitable notion o...
متن کاملON THE SYSTEM OF LEVEL-ELEMENTS INDUCED BY AN L-SUBSET
This paper focuses on the relationship between an $L$-subset and the system of level-elements induced by it, where the underlying lattice $L$ is a complete residuated lattice and the domain set of $L$-subset is an $L$-partially ordered set $(X,P)$. Firstly, we obtain the sufficient and necessary condition that an $L$-subset is represented by its system of level-elements. Then, a new representat...
متن کاملIntersection and Union Types for X
This paper presents a notion of intersection and union type assignment for the calculus X , a substitution free language that can be used to describe the behaviour of functional programming languages at a very low level of granularity, and has first been defined in [14,5]. X has been designed to give a Curry-Howard-de Bruijn correspondence to the sequent calculus for classical logic. In this pa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014